﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Data;

namespace SBS
{
    public class MekanikerKatalog
    {
        private Dictionary<int, Mekaniker> mekanikere;
        private Mekaniker aktivMekaniker;

        public MekanikerKatalog()
        {
            mekanikere = new Dictionary<int, Mekaniker>();
            aktivMekaniker = new Mekaniker();
        }

        public Dictionary<int, Mekaniker> Mekanikere
        {
            get { return mekanikere; }
            set { mekanikere = value; }
        }

        public Mekaniker AktivMekaniker
        {
            get { return aktivMekaniker; }
            set { aktivMekaniker = value; }
        }

        public void HentMekanikere(int CertNr)
        {
            mekanikere = Mekaniker_DB.HentMekanikere(CertNr);
        }

        public List<ArbejdsOpgaver> HentMekanikerKalender(int MekNr)
        {
            return Mekaniker_DB.HentMekanikerKalender(MekNr);
        }
    }

    public class Mekaniker
    {
        private int mekNr;
        private string mekNavn;
        private Certifikat certifikat;
        private Ordre arbejdeUdfoerespaa;
        private List<ArbejdsOpgaver> kalender;

        private Dictionary<int, Ordre> arbejdsOversigt;
        
        

        public Mekaniker(int MekNr, string MekNavn, int CertNr, string CertNavn)
        {
            this.mekNr = MekNr;
            this.mekNavn = MekNavn;
            certifikat = new Certifikat(CertNr, CertNavn);
            

        }

        public Mekaniker()
        {
           // arbejdsOversigt = new Dictionary<int, Ordre>();
        }

        public Dictionary<int, Ordre> ArbejdsOversigt
        {
            get { return arbejdsOversigt; }
            set { arbejdsOversigt = value; }
        }

        public Certifikat Certifikat
        {
            get
            {
                return certifikat;                
            }
            set
            {
                certifikat = value;
            }
        }

        public List<ArbejdsOpgaver> Kalender
        {
            get { return kalender; }
        }

        

        public string MekNavn
        {
            get
            {
                return mekNavn;
            }
            set
            {
            }
        }

        public int MekNr
        {
            get
            {
                return mekNr;
            }
            set
            {
                mekNr = value;
            }
        }

        public Ordre ArbejdesPaa
        {
            get
            {
                return arbejdeUdfoerespaa; 
            }
            set
            {
                arbejdeUdfoerespaa = value;
            }
        }
    }
    
    public struct ArbejdsOpgaver
    {
        public DateTime Dato;
        public int AntalOpgaver;
        public TimeSpan TidsForbrug;

        public ArbejdsOpgaver(DateTime Dato, int AntalOpgaver, TimeSpan Tidsforbrug)
        {
            this.Dato = Dato;
            this.AntalOpgaver = AntalOpgaver;
            this.TidsForbrug = Tidsforbrug;
        }

    }
}
